package org.pine.manager.convertor;

import org.pine.model.enums.RoleTypeEnum;
import org.pine.model.enums.StatusEnum;

import java.util.Objects;

/**
 * 枚举转换器
 *
 * @author pine
 * @version v1.0
 * @since 2025-04-19 15:17
 */
public interface EnumConvertor {

    default StatusEnum intergerToStatusEnum(Integer status) {
        if (Objects.isNull(status)) {
            return null;
        }

        return StatusEnum.of(status);
    }

    default Integer statusEnumToInteger(StatusEnum statusEnum) {
        if (Objects.isNull(statusEnum)) {
            return null;
        }

        return statusEnum.getCode();
    }


    default RoleTypeEnum intergerToRoleTypeEnum(Integer roleType) {
        if (Objects.isNull(roleType)) {
            return null;
        }

        return RoleTypeEnum.of(roleType);
    }

    default Integer roleTypeEnumToInteger(RoleTypeEnum roleTypeEnum) {
        if (Objects.isNull(roleTypeEnum)) {
            return null;
        }

        return roleTypeEnum.getCode();
    }
}
